/*
 * TilemapLoader.h
 *
 *  Created on: 2009/02/04
 *      Author: Yongshik Cho
 */

#ifndef TILEMAPLOADER_H_
#define TILEMAPLOADER_H_

#include "../core/Prerequisites.h"
#include "../Tilemap.h"
#include <tinyxml.h>
#include "sqplus/sqplus.h"

using namespace SqPlus;

class TilemapLoader
{
public:
	static const std::string _TILEMAP_TAG;
	static const std::string _SHAPE_TAG;

public:
	static Tilemap* parse(const String& path);
	static Tilemap* parse(TiXmlElement* element);
	static void parseScripts(TiXmlElement* element, Tilemap* tilemap);

	static Tilemap* load(const String& path);
};

//must be declared here
DECLARE_INSTANCE_TYPE(TilemapLoader)

#endif /* TILEMAPLOADER_H_ */
